package string03;

public class Demo {
    public static void main(String[] args) {
        String str1 = "abc";
        String str2 = "abc";
        String str3 = "def";
        //String字符串存储在方法区中的常量池中
        //其中包含基本数据类型(整形，浮点型)，字符串(以地址形式存在)
        //如果常量池中已经创建了一个常量，则会直接使用已经创建的，不会创建新的

        System.out.println(str1 == str2);//true
        //==运算符，
        /*
        * 1.如果是基本数据类型，则直接判断值是否相等
        * 2.如果是引用数据类型，则判断地址值是否相同
        */
        System.out.println(str1.equals(str2));//true
        /*
        * equals
        * 1.如果子类没有重写，默认调用的是object类中的方法，比较的是地址值
        * 2.如果子类进行重写，则比较的是子类重写的内容
        * */
        System.out.println(str2 == str3);//false
        System.out.println(str2.equals(str3));//false

    }
}
